home *** CD-ROM | disk | FTP | other *** search
- ************************************************************************
- ******************* HandleWB Rev 2. Made 20/06-93 By Newtec ***********
- ************************************************************************
- ************************************************************************
- ******************* Functions: ***********
- ******************* ***********
- ******************* InitWB() ***********
- ******************* ExitWB(CLIReturnCode)(d0) ***********
- ************************************************************************
-
- ;incdir 'Code:include/'
- ;include 'HandleWB'
- ;
- ;move.l sp,ExitStack
- ;bsr InitWB
- ;...
- ;clr.l d0
- ;bra ExitWB
-
- ;------------------------------------------------------------------
- InitWB: ;Stack MUST be set in the main loop!
- tst.l ExitStack
- bne.b .StackOK
- move.b $dff006,$dff180
- btst #6,$bfe001
- bne.b InitWB
- rts
-
- .StackOK: move.l 4.w,a6
- move.l 276(a6),a4 ;Exec->ThisTask
- tst.l $ac(a4) ;pr_cli
- bne.b .CLI ;From CLI
- lea.l $5c(a4),a0 ;WB message
- .GetMsg: jsr -372(a6) ;GetMsg
- tst.l d0
- bne.b .FromWB
- lea.l CLI_WB(pc),a0
- move.b #2,(a0)
- bra.b .CLI ;Started from ASMONE!
- .FromWB: move.l d0,WBMsg
- lea.l CLI_WB(pc),a0
- move.b #1,(a0)
- .CLI: rts
- ;------------------------------------------------------------------
- ExitWB: move.l ExitStack(pc),sp
- tst.b CLI_WB
- beq.b .ExitCLI
- cmp.b #2,CLI_WB
- beq .Exit
- move.l 4.w,a6
- move.l WBMsg(pc),a1
- jsr -378(a6) ;ReplyMsg
- clr.l d0
- .Exit: rts
- .ExitCLI: move.l d0,-(sp) ;Save Returncode
- move.l 4.w,a6
- lea.l .DosName(pc),a1
- clr.l d0
- jsr -552(a6) ;OpenLib
- move.l d0,a6
- move.l (sp)+,d1 ;ReturnCode
- jmp -144(a6) ;Xit
- ;------------------------------------------------------------------
- .DosName: dc.b 'dos.library',0
- CLI_WB: dc.b 0 ;0=Cli, 1=WB, 2=Asmone
- even
- ExitStack: dc.l 0
- WBMsg: dc.l 0
-